Programming Language Support for Natural Language Interaction
نویسندگان
چکیده
Modern conversational user interfaces depend on natural language understanding (NLU) engines, but integrating these capabilities creates a new category of engineering challenges. Developers write verbose, unsafe code to intermediate between NLU services and application logic, and ambiguous parses further complicate handling. We present a DSL for configuring an NLU model that ensures consistency and type safety, and we propose a new language construct to express ambiguity by exploring hypothetical actions.
منابع مشابه
SemEval-2017 Task 11: End-User Development using Natural Language
This task proposes a challenge to support the interaction between users and applications, micro-services and software APIs using natural language. It aims to support the evaluation and evolution of the discussions surrounding the application natural language processing techniques within the context of end-user natural language programming, under scenarios of high lexical and semantic heterogene...
متن کاملNatural Language User Interface For Software Engineering Tasks
In this paper, we present the idea to use natural language as the user interface for programming tasks. Programming languages assist with repetitive tasks that involve the use of conditionals, loops and statements. This is what is often challenging users. However, users can easily describe tasks in their natural language. We aim to develop a Natural Language User Interface that enables users to...
متن کاملLanguage Evolution and Human-Computer Interaction
Many of the issues that confront designers of interactive computer systems also appear in natural language evolution. Natural languages and human-computer interfaces share as their primary mission the support of extended “dialogues” between responsive entities. Because in each case one participant is a human being, some of the pressures operating on natural languages, causing them to evolve in ...
متن کاملReusing Code by Reasoning About its Purpose
When programmers face unfamiliar or challenging tasks, code written by others could give them inspiration or reusable pieces. But how can they find code appropriate for their goals? This paper describes a programming interface, called Zones, that connects code with natural language annotations about its purpose. The backend, called ProcedureSpace, uses the Blending technique to reason jointly o...
متن کاملLearning Based Programming
Learning Based Programming is a programming paradigm that extends conventional programming to support writing programs in which some of the de nitions are generated in a data driven way and some are learned from observations the program encounters. The paper introduces the paradigm as well as the design and implementation of a speci c learning based programming language (LBP) within it. LBP all...
متن کامل